Microsoft Places
How to Create IMDF Files for Microsoft Places
Introduction – What is IMDF?
Developed by Apple, IMDF (Indoor Data Mapping Format) is a standardised format for mapping indoor spaces.
Built on GeoJSON, a widely used JSON-based format for representing geographic data, IMDF provides a structured framework for defining indoor features such as rooms, pathways, and points of interest. This enables seamless integration with various systems, such as indoor navigation, retail and hospitality applications, and building management solutions.
Microsoft Places has adopted IMDF as the standard for displaying indoor maps, enabling users to easily identify available workspaces, and book desks or meeting rooms from an interactive floorplan created using IMDF.
This article explores what IMDF files look like and how to create them and get them ready for upload into Microsoft Places
What Do IMDF Files Look Like ‘Inside’?
IMDF files comprise a ZIP file of multiple individual GeoJSON files that work together to define different aspects of an indoor space.
There are 11 GeoJSON file types specified in the IMDF standard, each of which has a role in describing the different aspects of the venue being mapped.
For example, pathway.geojson is used to map out the walkable routes inside the venue, opening.geojson identifies doors, windows, and other openings and amenity.geojson identifies points of interest (WCs, lifts, etc.).
In the case of Microsoft Places, only 4 geojson file types are currently used, namely:
- Building.geojson – This file specifies the geographic position of the building, anchored by longitude and latitude coordinates.
- Footprint.geojson – The describes the overall layout of the building and is represented by a polygon of latitude and longitude coordinates.
- Level.geojson – Describes the specific floors or levels within the building structure, and the layout of each.
- Unit.geojson – Defines the individual spaces within each level, such as meeting rooms, desks or open areas.
An important thing to note is that Microsoft may well support other file types in the future and advises that if the platform you use to create your IMDF files generates these additional files, you should hold onto them for the future!

Microsoft Places requires a separate ZIP file of IMDF files to be created and uploaded for each building or office you have.
What Does a Desk Look Like in an IMDF File?
Here’s an example of the code needed to describe just a single desk in a unit.geojson file:
{ "feature_type": "unit", "type": "Feature", "id": "738a3000-d752-4862-9081-350bc407d8d8", "properties": { "name": { "en": "Desk 1131" }, "category": "workspace", "alt_name": null, "restriction": null, "level_id": "b64e23cc-2a18-4920-860b-4e54ef89b8ba", "building_ids": ["d30ff8d5-b87a-4ef2-9f98-c76f99c3c67d"], "address_id": null, "unit_id": null, "display_point": null, "smtp_address": null, "ordinal": null, "custom_category": null }, "geometry": { "type": "Polygon", "coordinates": [ [ [-2.7593087883862197, 51.48768895640797], [-2.759198396543169, 51.48768895640797], [-2.759198396543169, 51.48758707090899], [-2.7593087883862197, 51.48758707090899], [-2.7593087883862197, 51.48768895640797] ] ] } }
Each individual object (in this case, a bookable desk) is assigned:
- An object id – this is a unique identifier, along with properties than include:
- A level_id – this is a unique identifier that links the desk to a specific floor it’s on
- A building_id – this is a unique identifier that links the desk to the specific building it’s in
- A category – in this case we say that it’s a workspace
- A Name* – this is where we declare the desk ‘display’ name – in this instance, Desk 1131
- Geometry – it’s here that we say we are going to show the desk as a polygon (as opposed to a single point). You then need to provide an array of co-ordinates** that define the desk’s shape.
There could well be objects that aren’t bookable spaces in Places, but are included to depict walls, seating areas, lobbies, and so on, that make up your overall office floorplan.
*Below is what the desk described in the above code looks like on the floorplan displayed in Places. If you’re wondering why the indicated desk is named ‘wkspace1131’ instead of Desk 1131, this will be covered in our forthcoming article that explains how to upload IMDF files into places.
**You will notice that the coordinates of the desk geometry are highly precise and are relative to the anchor longitude and latitude coordinates that correspond to the building. Each decimal place increases the accuracy of the location – 6 decimal places will give you around 10 cm accuracy.

How are IMDF Files Created?
As you can imagine, IMDF files can be very large, complex and difficult to troubleshoot – especially if you’re creating them ‘by hand’, but DIY IMDF file creation is possible, and we’ll be writing a blog about how to do this later.
For any requirement that involves multiple floors and multiple office buildings, we recommend you use a dedicated platform or map creation service provider to create your IMDF floor plans.
Companies able to offer this service include Pointr, MappedIn and Mapspeople, each of whom offer a platform for uploading existing maps and turning them into IMDF files. Mini plug: Essential also offers a a floorplan design and IMDF creation service!
Generally speaking, these are the steps you’d expect to carry out when creating IMDF files using one of these platforms:
1. Upload Your Floorplans:
Ideally your original floorplans need to be in a vector format such as DWG (e.g., from AutoCAD) or in another vector format such as SVG or PDF. Some platforms also allow you to upload a pixel (raster) graphic format, such as PNG or JPG files, as the starting point.
2. Define the Structure of Your Floorplans:
The next step is usually to add a hierarchy or structure that links each floor to your building, and the building to its location, with steps that include:
- Assigning each uploaded floorplan to the corresponding office, followed by the level within the office.
- Providing the location or longitude and latitude coordinates of your office location.
- Creating a polygon at ground level to represent your office’s footprint.
Note that at this point you usually have the option to rotate your office plan so that it reflects its actual north-south orientation. To help with process the map creation service you use will typically display a ‘map’ layer that you can orient to (see examples below).
Note, however, that Places does not itself display a map layer to end users. For this reason (and many others) you may choose a simpler ‘heads-up’ (flat on) layout. See our article on office floorplan orientation.

3. Align your floors & clean up
To create the best user experience, you’ll typically need to do a tidy up. For example:
- Your floors need to be positioned so that they sit directly on top of each other. This way, the floorplans won’t ‘jump around’ as users move from level to level: Consistency is king for getting the best UX!
- You’ll probably need to clean and crop your plans to remove items such as the architect’s information and any wide borders with nothing happening on them!
4. Start adding floorplan features:
In this stage you’ll need to identify and ‘draw’ the key elements that you’d like to see in your floorplan. This of course includes meeting rooms and desks that will be bookable in Places, but also dividing walls, lobbies, etc. that will be crucial to helping users understand where things are.
Depending on your chosen platform and the original format of your floorplan files, a lot of this stage may be done automatically.
For example, if you were able to upload your floorplan in DWG format, there is a lot of ‘intelligence’ baked into this file format that can be automatically ‘pulled out’. Alternatively, most IMDF creation platforms let you ‘trace over’ the various features that you want to show with easy-to-use vector drawing tools.
Our advice here is to take the opportunity to simplify your floorplan. CAD diagrams always provide far more information than is required. Eliminating detail at this stage will streamline both the job of floorplan preparation and ongoing maintenance. It will also help end users of the system quickly find a suitable workspace.
Note that although the platform you use to create your IMDF files may allow you to add points of interest (POI) to your floorplans (such as fire exits and coffee points), there are only a few POIs currently supported in Places. For more information see this article on points of interest.
5. Label your workspaces:
- The relevant bookable workspaces (e.g., meeting rooms, desks) can be labelled within the platform.
- If you initially uploaded DWG files that included meeting room names and desks, these labels may be automatically detected and inserted, but you may wish to double-check these.
- In our experience the labels applied in the original architect’s diagrams will bear little relation to the numbering and naming scheme that gets implemented by your FM team. For more information on best practices for numbering your desks check out this article.
6. Export your IMDF files:
You will now be ready to export your finalised IMDF data as one or more ZIP files, with each ZIP corresponding to a specific office building.
It is this file that you need to upload into Microsoft Places, and how to do this is described in our next article.
A final note again, is that you can also take a DIY approach to creating IMDF files, and we will make this the subject of another blog – but as we indicated earlier it’s hard work!